package com.gr.experimental.model.impl.distr.operators;



public abstract class AbstractBinaryBooleanOperator extends AbstractBinaryOperator {

	/**
	 * @param argumentType
	 */
	public AbstractBinaryBooleanOperator() {
		super(Boolean.class);
	}

	/**
	 * {@inheritDoc}
	 * @see com.gr.experimental.model.impl.distr.operators.BinaryOperator#getReturnType()
	 */
	@Override
	public Class<?> getReturnType() {
		return Boolean.class;
	}

	/**
	 * {@inheritDoc}
	 * @see com.gr.experimental.model.impl.distr.operators.BinaryOperator#op(java.lang.Object, java.lang.Object)
	 */
	@Override
	public Object op(Object arg1, Object arg2) {
		return op(((Boolean)arg1).booleanValue(), ((Boolean)arg2).booleanValue());
	}

	public abstract boolean op(boolean b1, boolean b2);

}
